package com.itheima.test.XMLparse;

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

import java.util.ArrayList;
import java.util.List;

public class XmlParse {//使用DOM for Java解析xml文件
    public static void main(String[] args) throws DocumentException {
        //获取后展示的学生列表
        ArrayList<Student> list = new ArrayList<>();
        //获取整个Document对象
        SAXReader reader = new SAXReader();
        Document document = reader.read("day022\\xml\\student.xml");
        //获取根标签
        Element rootElement = document.getRootElement();
        //根标签获得指定的学生子标签列表,无参则是获取所有的子标签
        List<Element> studentsElement = rootElement.elements("student");
        //遍历学生标签列表,获取信息
        for (Element element : studentsElement) {
            //先获取ID属性标签,再获取属性标签的值
            Attribute idElement = element.attribute("id");
            String id = idElement.getValue();
            //获取name标签,再获取文本
            Element nameElement = element.element("name");
            String name = nameElement.getStringValue();
            //获取age标签,再获取文本
            Element ageElement = element.element("age");
            String age = ageElement.getText();
            //将信息添加到学生列表
            list.add(new Student(name,Integer.parseInt(id),Integer.parseInt(age)));
        }
        //遍历学生列表,输出学生信息
        for (Student student : list) {
            System.out.println(student);
        }
    }
}
